Python内部函数 |
您所在的位置:网站首页 › python 调用自定义函数 › Python内部函数 |
这是一篇译文,原文地址:https://realpython.com/inner-functions-what-are-they-good-for/1. 封装 内部函数可以免受函数之外的情况的影响,也就是说,对于全局命名空间而言,它们是隐藏的。 下面是一个简单的例子: def outer(num1): def inner_increment(num1): # 对外部空间隐藏 return num1 + 1 num2 = inner_increment(num1) print(num1, num2) inner_increment(10) # outer(10)如果我们直接调用 inner_increment() 函数,会有报错信息: Traceback (most recent call last): File "inner.py", line 7, in inner_increment() NameError: name 'inner_increment' is not defined注释掉对 inner_increment() 的直接调用,对外部的函数传入参数 10,即 outer(10) 是可以运行的: 10 11注意:这只是一个例子,虽然这些代码可以运作,但就这个函数而言,可能更好的方式是把 inner_increment() 定义为存在于外部空间的“私有”函数,即在函数名前加一个下划线前缀,即 _inner_increment() 。下面这个嵌套函数可能是一个更好的使用内部函数的例子: def factorial(number): # 处理错误 if not isinstance(number, int): raise TypeError("Sorry. 'number' must be an integer.") if not number >= 0: raise ValueError("Sorry. 'number' must be zero or positive.") def inner_factorial(number): if number max_key: max |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |